package cn.cdeden.knowledge.service;

import cn.cdeden.common.core.utils.page.TableDataInfo;
import cn.cdeden.knowledge.domain.FilesWatermarkConfig;
import cn.cdeden.knowledge.domain.dto.FileWatermarkConfigDto;
import cn.cdeden.knowledge.domain.dto.FileWatermarkConfigQueryParam;
import cn.cdeden.knowledge.domain.dto.FileWatermarkInfoDto;
import cn.cdeden.knowledge.enums.FilesWatermarkConfigEnums;
import com.baomidou.mybatisplus.extension.service.IService;
import io.undertow.util.BadRequestException;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface FilesWatermarkConfigService extends IService<FilesWatermarkConfig>{


    /**
     * 查询数据分页
     * @param query 条件
     * @param pageable 分页参数
     * @return PageInfo<FileWatermarkConfigDto>
     */
    TableDataInfo<FileWatermarkConfigDto> queryAll(FileWatermarkConfigQueryParam query, Pageable pageable);


    /**
     * @param infoDtos
     * @param b 是否替换值
     * @return java.lang.String
     * @author Yu.
     * @Description // 拼接水印
     * @Date 2023/1/16 9:21
     **/
    String queryExpected(List<FileWatermarkInfoDto> infoDtos, Boolean b, List<FilesWatermarkConfigEnums> dictionary);


    /**
     * 查询数据分页
     * @param query 条件
     * @param pageable 分页参数
     * @return PageInfo<FileWatermarkConfigDto>
     */
    TableDataInfo<FileWatermarkConfigDto> libraryQuery(FileWatermarkConfigQueryParam query, Pageable pageable) throws BadRequestException;


    FileWatermarkConfigDto insert(FileWatermarkConfigDto resources) throws BadRequestException;

}
